As a wide variety of computing devices become more prevalent and widely used among the general population, the amount of electronic data generated and utilized by such devices has rapidly increased. Recent advancements in computing and data storage technology have enabled these devices to store and process large amounts of information for a variety of applications such as document editing, media processing, and the like. Further, recent advancements in communication technology can enable computing devices to communicate data at a high rate of speed. These advancements have enabled the implementation of services such as network-based backup, which allow a user of a computing device to maintain one or more backup copies of data associated with the computing device at a remote location on a network.
Among these network-based data backup systems, cloud storage is a model of data storage in which electronic data is stored in logical pools, the physical storage spans multiple servers (and often locations), and the physical environment is typically owned and managed by various cloud storage providers who are responsible for keeping the data available and accessible, and the physical environment protected and running. Individual users, enterprises, and organizations buy or lease storage capacity from these storage providers to store user, organization, or application data. Cloud storage services may be accessed through a co-located cloud computer service, a web service application programming interface (API) or by applications that utilize the API, such as cloud desktop storage, a cloud storage gateway or Web-based content management systems.
In the context of cloud-based storage, one may need to periodically check that an entire computing device can be safely restored from a last data backup stored in a cloud storage, boot the Operating System (OS) restored, and ensure that all of the services and programs associated with the computing device work correctly. However, restoring from a backup via a cloud may require a substantial amount of time because of the size of the backup or the speed of the underlying network. In some instances, a 500 GB memory partition may be restored up to, e.g., 13 hours using a relatively fast 10 MB communication channel available on a communication network.
Accordingly, there is a need for a system and method for a faster data restoration operation in cloud-based data backup systems.